package com.beemans.corekit.integration.metrics;

public final class MetricsConstant {
    // 配置常量
    public static final String STR_ANDROID = "android";
    public static final String STR_DEFAULT_VERSION = "1.0.0";
    public static final String STR_ANDROID_ID = "9774d56d682e549c";
    public static final String STR_UDID_PREFIX1 = "2";
    public static final String STR_UDID_PREFIX2 = "9";
    public static final String ENC_UTF_8 = "utf-8";

    // 缓存相关常量
    public static final String CACHE_NAME = "CACHE_NAME";
    public static final String CACHE_INFO = "CACHE_INFO";
    public static final String CACHE_REPORTING_INFO = "CACHE_REPORTING_INFO";
    public static final String CACHE_UA = "CACHE_UA";
    public static final String CACHE_REFERRER = "CACHE_REFERRER";
    public static final String CACHE_GUID = "CACHE_GUID";
    public static final String CACHE_LOCALE = "CACHE_LOCALE";

    // 缓存大小限制配置（单位：字节）
    public static final int CACHE_MAX_SIZE_BYTES = 300 * 1024; // 300KB - 普通缓存最大大小

    // 类型常量
    public static final String TYPE_VER = "ver";
    public static final String TYPE_BS = "bs";
    public static final String TYPE_UA = "ua";
    public static final String TYPE_REFERRER = "referrer";
    public static final String TYPE_EVENT = "event";

    // JSON键常量
    public static final String KEY_TYPE = "type";
    public static final String KEY_TS = "ts";
    public static final String KEY_DATA = "data";
    public static final String KEY_KEY = "Key";
    public static final String KEY_VAL = "Val";
    public static final String KEY_EXTEND = "Extend";
    public static final String KEY_VER = "ver";
    public static final String KEY_BID = "bid";
    public static final String KEY_DEVICE = "device";
    public static final String KEY_SYSTEM_VER = "systemver";
    public static final String KEY_GUID = "guid";
    public static final String KEY_LOCALE = "locale";
    public static final String KEY_LANGUAGE = "language";
    public static final String KEY_ZONE = "zone";
    public static final String KEY_CHL = "chl";
    public static final String KEY_UA = "ua";
    public static final String KEY_TIMESTAMP = "timestamp";
    public static final String KEY_REFERRER = "referrer";
    public static final String KEY_TOKEN = "token";
    public static final String KEY_TIME_ZONE = "time_zone";
    public static final String KEY_CODE = "code";
    public static final String KEY_STATUS = "status";

    // 加解密相关常量
    public static final String AES_CBC_PKCS7 = "AES/CBC/PKCS7Padding";
    public static final String ALGO_AES = "AES";
    public static final String ALGO_DES = "DES";

    // 队列和批处理配置常量
    public static final int MAX_QUEUE_SIZE = 1000; // 队列最大大小
    public static final int MAX_BATCH_SIZE = 10;   // 批量上报最大条数

    // 定时器配置常量
    public static final long DEFAULT_REPORT_INTERVAL_SECONDS = 5; // 默认上报间隔（秒）
    public static final long INITIAL_DELAY_SECONDS = 5;          // 初始延迟时间（秒）

    // 随机字符串长度配置常量
    public static final int RANDOM_STRING_START_LENGTH = 6;   // 随机字符串开始长度
    public static final int RANDOM_STRING_END_LENGTH = 5;     // 随机字符串结束长度
    public static final int RANDOM_STRING_PREFIX_LENGTH = 4;  // 随机字符串前缀长度
    public static final int RANDOM_ACTION_LENGTH = 7;         // 随机动作长度
}